package com.emr.module.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.emr.module.mapper.IcdMapper;
import com.emr.module.domain.Icd;
import com.emr.module.service.IIcdService;
import com.emr.common.support.Convert;

/**
 * 疾病编码字典 服务层实现
 * 
 * @author emr
 * @date 2019-02-19
 */
@Service
public class IcdServiceImpl implements IIcdService 
{
	@Autowired
	private IcdMapper icdMapper;

	/**
     * 查询疾病编码字典信息
     * 
     * @param id 疾病编码字典ID
     * @return 疾病编码字典信息
     */
    @Override
	public Icd selectIcdById(Integer id)
	{
	    return icdMapper.selectIcdById(id);
	}
	
	/**
     * 查询疾病编码字典列表
     * 
     * @param icd 疾病编码字典信息
     * @return 疾病编码字典集合
     */
	@Override
	public List<Icd> selectIcdList(Icd icd)
	{
	    return icdMapper.selectIcdList(icd);
	}
	
    /**
     * 新增疾病编码字典
     * 
     * @param icd 疾病编码字典信息
     * @return 结果
     */
	@Override
	public int insertIcd(Icd icd)
	{
	    return icdMapper.insertIcd(icd);
	}
	
	/**
     * 修改疾病编码字典
     * 
     * @param icd 疾病编码字典信息
     * @return 结果
     */
	@Override
	public int updateIcd(Icd icd)
	{
	    return icdMapper.updateIcd(icd);
	}

	/**
     * 删除疾病编码字典对象
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	@Override
	public int deleteIcdByIds(String ids)
	{
		return icdMapper.deleteIcdByIds(Convert.toStrArray(ids));
	}

	/***
	 * 查询编码下拉框
	 */
	@Override
	public List<Icd> selectIcdAll() {
		// TODO Auto-generated method stub
		return icdMapper.selectIcdAll();
	}

	@Override
	public List<Icd> selectIcdByIds(String id) {
		List<Icd> userPosts = icdMapper.selectIcdByIds(id);
        List<Icd> posts = icdMapper.selectIcdAll();
        for (Icd post : posts)
        {
            for (Icd userRole : userPosts)
            {
                if (post.getId().longValue() == userRole.getId().longValue())
                {
                    post.setFlag(true);
                    break;
                }
            }
        }
        return posts;
	}
	
}
